package cn.tedu.csmall.stock.webapi.quartz;

import cn.tedu.csmall.commons.pojo.stock.entity.Stock;
import cn.tedu.csmall.stock.webapi.quartz.config.RabbitMQConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;

@Component
@Slf4j
// 和Kafka不同,RabbitMQ监听器注解要求写在类上
@RabbitListener(queues = RabbitMQConfig.STOCK_QUEUE)
public class RabbitMQConsumer {

    // 类上添加监听器注解,指定的监听的队列,当前队列有消息时,运行@RabbitHandler标记的方法
    // 每个类只允许编写一个@RabbitHandler标记的方法
    // 注解下编写方法,参数直接编写传递的对象即可
    @RabbitHandler
    public void process(Stock stock){
        // stock就是从消息的发送方,发来的对象,直接使用即可
        log.info("接收到消息:{}",stock);
    }


}






